Automated software development with XML and the Java* language
نویسندگان
چکیده
April–June 2000 Copyright 2000. Lucent Technologies Inc. All rights reserved. Introduction High-level languages and compilers are a great success story of software engineering. One way of understanding this success is to see high-level languages as allowing a division of labor between problemdomain expertise, held by the application developer, and implementation expertise, held by the compiler developer. With domain-specific languages (DSLs),1 this division is magnified. A language is created specifically for an application domain, where requirements for a product in the domain can be precisely and succinctly captured. A compiler for this language then generates the product code directly from the requirements. The developers of a DSL and its compiler are sometimes called domain engineers, while the writers of requirements in the DSL are called application engineers. As an approach to automating software engineering, DSLs have many fascinating aspects. For example, a DSL compiler can be regarded as a formalization of the design of a family of products. Once the design is explicit and formal, the presence of design problems, inconsistencies, and complexity is apparent. Furthermore, design improvements can be implemented as changes to the DSL compiler, allowing the improvements to be applied consistently to all product instances. DSLs are not as widely used as they might be because the return on investment for DSLs is not always clear. Designing a DSL and implementing a DSL compiler are expensive and time consuming, and they also require specialized skills. For example, just the work of analyzing an application domain prior to DSL design (called domain analysis) can require a team of domain experts and considerable time. Training developers to use a new language is costly. Furthermore, if the design approach for an application domain is not well known and stable, the DSL and compiler may require continual enhancement. In this paper, we describe a lightweight approach to DSL-based development using Extensible Markup Language (XML) and the Java* language. Briefly, the idea is to define a DSL as an XML dialect and then to build the DSL compiler using the Java language and existing XML tools. While XML dialects can be verbose, they are suitable for DSLs because they are easy to define and to read. This ease of reading XML dialects stems partly from their similarity to the Hypertext Markup Language (HTML) and partly from ♦ Automated Software Development with XML and the Java* Language Glenn R. Bruns, Alan E. Frey, Peter A. Mataga, and Susan J. Tripp
منابع مشابه
Advanced PLC programming methods
The main goal of this thesis is to use Model-Driven Design approach and Object-Oriented Programming features to create a software tool for programming PLC control system. The primary function of the instrument of development is the automated generating of proper PLC code according to IEC 61131-3 from templates which represent models of real components of automated plant and let us use some of t...
متن کاملFuzzy Rule Base System for Software Classification
Given the central role that software development plays in the delivery and application of information technology, managers have been focusing on process improvement in the software development area. This improvement has increased the demand for software measures, or metrics to manage the process. This metrics provide a quantitative basis for the development and validation of models during the s...
متن کاملXML Encoded Reverse Engineering of Java to UML
This paper introduces an XML encoded reverse engineering transformation from Java to the Unified Modeling Language (UML). We explore the relationship between an XML based representation of Java, namely JavaML, and an XML based representation of UML, XMI. A series of XSLT templates are then described that reverse engineer Java to UML Class diagrams. By exploiting XML technologies, this approach ...
متن کاملCodify Uml Uml Diagram to Text Apply Mapping Rules for Uml to Xsd Transformation Apply Xsd File to Jibx to for Java Code Generation Stop
The emergence of Unified Modeling Language (UML) as a standard for modeling systems has encouraged the use of automated software tools that facilitate the development process from analysis through coding. An effort has been made to find methods to automatically generate executable code from the UML class diagrams. An object oriented approach has been proposed to generate executable implementati...
متن کاملFrom Program Execution to Automatic Reasoning: Integrating Ontologies into Programming Languages (Keynote)
Since their standardizations by the W3C, the Extensible Markup Language (XML) and XML Schema Definition (XSD) have been widely adopted as a format to describe data and to define programming language agnostic data types and content models. Several other W3C standards such as the Resource Description Framework (RDF) and the Web Ontology Language (OWL) are based on XML and XSD. At the same time, s...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Bell Labs Technical Journal
دوره 5 شماره
صفحات -
تاریخ انتشار 2000